今天是 10.24 程序員日,偶然看到了一張非常有趣的圖片:
圖片展示了一個 “代碼猜詩詞” 的活動,使用程序員的代碼邏輯隱喻古詩詞。我感到非常有趣,所以我嘗試解答了一下題目:
1.#
((item) && (!people))everything = false; if(tears.setFlowing()) try{Speakerskr=newSpeaker();} catch(IOException e){}
解答: 物是人非事事休,欲語淚先流
解釋: 代碼中的 item && !people
意味著 “物在,而人不在”,對應 “物是人非”;而 tears.setFlowing()
則表達了 “淚先流” 的場景。
出處: 李清照《武陵春・春晚》
2.#
cutWater(getKnife())(water++); reduceWorry(toast)(worry++);
解答: 抽刀斷水水更流,舉杯消愁愁更愁
解釋: cutWater
即 “抽刀斷水”,而 water++
代表水依舊在流;reduceWorry
意圖 “消愁”,但 worry++
表明愁緒仍然增加。
出處: 李白《宣州謝朓樓餞別校書叔雲》
3.#
Seeking++;
Loneliness++;
(Misery++) + (Sadness++);
解答: 尋尋覓覓,冷冷清清,凄凄慘慘戚戚
解釋: 這段代碼通過增加 “Seeking”、“Loneliness”、“Misery” 和 “Sadness”,凄涼與孤寂。
出處: 李清照《聲聲慢・尋尋覓覓》
4.#
if(FALSE == true) TRUE = false;
if(NULL == exist) exist = NULL;
解答: 假作真時真亦假,無為有處有還無
解釋: 這段代碼通過對真假(FALSE == true
)和存在與否(NULL == exist
)的探討。當 “假” 被認為是真時,真也就成了假;而在看似有的地方,其實卻是無。
出處: 曹雪芹《紅樓夢》
5.#
while(tomorrow.hasNext()){
howMany(tomorrow);
tomorrow.next();
}
this.wait(WHOLE_LIFE);
return (null == everything)? null: null;
解答: 明日復明日,明日何其多,我生待明日,萬事成蹉跎
解釋: 這段代碼通過無限循環 “tomorrow”(明天)的過程,表現了 “明日復明日” 的無盡等待。程序等待了整個生命周期(this.wait(WHOLE_LIFE)
),最終返回一個無意義的結果(return null
),也表達了等待明天只會讓事情落空的思想。
出處: 錢福《明日歌》
6.#
if(leastWind.help(zhouyu)){
season=spring;
bronzeBird.lock(bigQiao);
bronzeBird.lock(smallQiao);
}
解答: 東風不與周郎便,銅雀春深鎖二喬
解釋: 這段代碼表達了東風助力周瑜,二喬被銅雀台鎖住的情景。leastWind.help(zhouyu)
象徵東風幫助周瑜,而 bronzeBird.lock(bigQiao)
和 bronzeBird.lock(smallQiao)
則分別指向 “大喬” 和 “小喬” 被鎖在銅雀台的意象。
出處: 杜牧《赤壁》
7.#
hold ? fish : palm;
解答: 魚與熊掌不可兼得
解釋: 這個三元運算表達式中,hold ? fish : palm
代表了選擇兩者之一的抉擇,選擇了魚,便不能擁有熊掌,反之亦然。
出處: 孟子《孟子・告子上・魚我所欲也》
8.#
if(this.Head.SetDirection(TheMoon.GetInstance().Position)){
this.Head.SetDirection(GROUND_DIRECTION);
this.ThinkAbout(this.OriginalPlace);
}
解答: 舉頭望明月,低頭思故鄉
解釋: 這段代碼描述了當頭部方向對準月亮時(this.Head.SetDirection(TheMoon.GetInstance().Position)
),將頭轉向地面(this.Head.SetDirection(GROUND_DIRECTION)
),並思考原來的地方(this.ThinkAbout(this.OriginalPlace)
)。這一過程象徵著詩中的情景:先是抬頭望見明亮的月亮,然後低下頭思念故鄉。
出處: 李白《靜夜思》
9.#
if(others.rejoice()==true) (self.rejoice());
else (self.worry());
解答: 樂人之樂,人亦樂其樂;憂人之憂,人亦憂其憂
解釋: 代碼表示當他人高興時,自己也感到高興(self.rejoice()
),而當他人憂愁時,自己也感到憂慮(self.worry()
)。這與 “樂人之樂,人亦樂其樂;憂人之憂,人亦憂其憂” 的意思非常契合,體現了關心他人、與他人共情的思想。
出處: 孟子《孟子・梁惠王下》
10.#
if(sight.getRange()<=1000) building.level++;
解答: 欲窮千里目,更上一層樓
解釋: 當視野範圍小於等於 1000 時,建築的等級會增加,意味著為了看到更遠的景象,就需要登高。與 “更上一層樓” 相呼應,表現了通過不斷提升自己來拓展視野的思想。
出處: 王之涣《登鵲雀樓》
如有錯誤,歡迎補充指正!
此文由 Mix Space 同步更新至 xLog 原始鏈接為 https://blog.qwq.my/posts/life/not-the-normal-decoding